package myzzyl.controller;



import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import myzzyl.domain.vo.ElderVo;
import myzzyl.response.BaseResponse;
import myzzyl.response.PageResponse;
import myzzyl.service.ElderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/elder")
@Tag(name = "老人相关")
@Slf4j
public class ElderController {

    @Autowired
    private ElderService elderService;

    /**
     * 分页获取所有老人数据
     */
    @GetMapping("/pageQuery")
    public BaseResponse<PageResponse<ElderVo>> pageQuery(
     @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
     @RequestParam(name = "pageSize", defaultValue = "5") Integer pageSize,
     @RequestParam(name = "status", defaultValue = "0") Integer status,
     @RequestParam(name = "name", required = false) String name,
     @RequestParam(name = "idCardNo", required = false) String idCardNo
    ) {
        log.info("分页获取所有老人：{}, {}, {}, {}, {}",
                pageNum, pageSize, status, name, idCardNo);
        PageResponse<ElderVo> response = elderService.pageQuery(pageNum, pageSize, status, name, idCardNo);
        return BaseResponse.success(response);
    }

//    /**
//     * 获取老人详情
//     */
//    @GetMapping("/{id}")
//    public BaseResponse<ElderVo> getInfo(@PathVariable Long id) {
//        log.info("获取老人详情:{}", id);
//        return BaseResponse.success(elderService.getInfo(id));
//    }
//
//
//    /**
//     * 新增老人
//     */
//    @PostMapping
//    public BaseResponse<Boolean> add(@RequestBody ElderDto elderDto) {
//        log.info("新增老人:{}", elderDto);
//        return BaseResponse.success(elderService.add(elderDto));
//    }
//
//
//    /**
//     * 编辑老人
//     */
//    @PutMapping
//    public BaseResponse<Boolean> edit(@RequestBody ElderDto elderDto) {
//        log.info("编辑老人:{}", elderDto);
//        return BaseResponse.success(elderService.edit(elderDto));
//    }
//
//    /**
//     * 删除老人
//     */
//    @DeleteMapping("/{id}")
//    public BaseResponse<Boolean> remove(@PathVariable Long id) {
//        log.info("删除老人:{}", id);
//        return BaseResponse.success(elderService.deleteElderById(id));
//    }
//
//    /**
//     * 启用or禁用老人
//     */
//    @PutMapping("/{id}/status/{status}")
//    public BaseResponse<Boolean> remove(@PathVariable Long id, @PathVariable Integer status) {
//        log.info("启用or禁用老人:{}, {}", id, status);
//        return BaseResponse.success(elderService.enableOrDisable(id, status));
//    }
}
